1. Field of the Invention
The invention relates generally to GNSS receivers and, in particular, to receivers that operate with Galileo AltBOC satellite signals.
2. Background Information
Global navigation satellite system (GNSS) receivers, such as GPS receivers, determine their global positions based on the signals received from orbiting GPS and other satellites. The GPS satellites, for example, transmit signals using two carriers, namely, an L1 carrier at 1575.42 MHz and an L2 carrier at 1227.60 MHz. Each carrier is modulated by at least a binary pseudorandom (PRN) code, which consists of a seemingly random sequence of ones and zeros that periodically repeat. The ones and zeros in the PRN code are referred to as “code chips,” and the transitions in the code from one to zero or zero to one, which occur at “code chip times,” are referred to as “bit transitions.” Each GPS satellite uses a unique PRN code, and thus, a GPS receiver can associate a received signal with a particular satellite by determining which PRN code is included in the signal.
The GPS receiver calculates the difference between the time a satellite transmits its signal and the time that the receiver receives the signal. The receiver then calculates its distance, or “pseudorange,” from the satellite based on the associated time difference. Using the pseudoranges from at least four satellites, the receiver determines its global position.
To determine the time difference, the GPS receiver synchronizes a locally generated PRN code with the PRN code in the received signal by aligning the code chips in each of the codes. The GPS receiver then determines how much the locally-generated PRN code is shifted, in time, from the known timing of the satellite PRN code at the time of transmission, and calculates the associated pseudorange. The more closely the GPS receiver aligns the locally-generated PRN code with the PRN code in the received signal, the more precisely the GPS receiver can determine the associated time difference and pseudorange and, in turn, its global position.
The code synchronization operations include acquisition of the satellite PRN code and tracking the code. To acquire the PRN code, the GPS receiver generally makes a series of correlation measurements that are separated in time by a code chip. After acquisition, the GPS receiver tracks the received code. It generally makes “early-minus-late” correlation measurements, i.e., measurements of the difference between (i) a correlation measurement associated with the PRN code in the received signal and an early version of the locally-generated PRN code, and (ii) a correlation measurement associated with the PRN code in the received signal and a late version of the local PRN code. The GPS receiver then uses the early-minus-late measurements in a delay lock loop (DLL), which produces an error signal that is proportional to the misalignment between the local and the received PRN codes. The error signal is used, in turn, to control the PRN code generator, which shifts the local PRN code essentially to minimize the DLL error signal.
The GPS receiver also typically aligns the satellite carrier with a local carrier using correlation measurements associated with a punctual version of the local PRN code. To do this the receiver uses a carrier tracking phase lock loop.
A GPS receiver receives not only line-of-sight, or direct path, satellite signals but also multipath signals, which are signals that travel along different paths and are reflected to the receiver from the ground, bodies of water, nearby buildings, etc. The multipath signals arrive at the GPS receiver after the direct-path signal and combine with the direct-path signal to produce a distorted received signal. This distortion of the received signal adversely affects code synchronization operations because the correlation measurements, which measure the correlation between the local PRN code and the received signal, are based on the entire received signal—including the multipath components thereof. The distortion may be such that the GPS receiver attempts to synchronize to a multipath signal instead of to the direct-path signal. This is particularly true for multipath signals that have code bit transitions that occur close to the times at which code bit transitions occur in the direct-path signal.
One way to more accurately synchronize the received and the locally-generated PRN codes is to use the “narrow correlators” discussed in U.S. Pat. Nos. 5,101,416; 5,390,207 and 5,495,499, all of which are assigned to a common assignee and incorporated herein by reference. It has been determined that narrowing the delay spacing between early and late correlation measurements substantially reduces the adverse effects of noise and multipath signal distortion on the early-minus-late measurements.
The delay spacing is narrowed such that the noise correlates in the early and late correlation measurements. Also, the narrow correlators are essentially spaced closer to a correlation peak that is associated with the punctual PRN code correlation measurements than the contributions of many of the multipath signals. Accordingly, the early-minus-late correlation measurements made by these correlators are significantly less distorted than they would be if they were made at a greater interval around the peak. The closer the correlators are placed to the correlation peak, the more the adverse effects of the multipath signals on the correlation measurements are minimized. The delay spacing can not, however, be made so narrow that the DLL can not lock to the satellite PRN code and then maintain code lock. Otherwise, the receiver cannot track the PRN code in the received signal without repeatedly taking the time to re-lock to the code.
The L1 carrier is modulated by two PRN codes, namely, a 1.023 MHz C/A code and a 10.23 MHz P-code. The L2 carrier is modulated by the P-code. Generally, a GPS receiver constructed in accordance with the above-referenced patents acquires the satellite signal using a locally generated C/A code and a locally generated L1 carrier. After acquisition, the receiver synchronizes the locally generated C/A code and L1 carrier with the C/A code and L1 carrier in the received signal, using the narrow correlators in a DLL and a punctual correlator in the carrier tracking loop. The receiver may then use the C/A code tracking information to track the L1 and/or L2 P-codes, which have known timing relationships with the C/A code, and with each other.
In a newer generation of GPS satellites, the L2 carrier is also modulated by a C/A code that is, in turn, modulated by a 10.23 MHz square wave. The square wave modulated C/A code, which we refer to hereinafter as the “split C/A code,” has maximums in its power spectrum at offsets of ±10 MHz from the L2 carrier, or in the nulls of the power spectrum of the P-code. The split C/A code can thus be selectively jammed, as necessary, without jamming the L2 P-code.
The autocorrelation function associated with the split C/A code has an envelope that corresponds to the autocorrelation of the 1.023 MHz C/A code and multiple peaks within the envelope the correspond to the autocorrelation of the 10.23 MHz square wave. There are thus 20 peaks within a two chip C/A code envelope, or a square wave autocorrelation peak every 0.1 C/A code chips. The multiple peaks associated with the square wave are each relatively narrow, and thus, offer increased code tracking accuracy, assuming the DLL tracks the correct narrow peak.
As discussed in U.S. Pat. No. 6,184,822 which is assigned to a common Assignee and incorporated herein by reference, there are advantages to acquiring and tracking the split-C/A code by separately aligning with the received signal the phases of a locally-generated 10.23 MHz square wave, which can be thought of as a 20.46 MHz square-wave code, and a locally-generated 1.023 MHz C/A code. The receiver first aligns the phase of the locally generated square-wave code with the received signal, and tracks one of the multiple peaks of the split-C/A code autocorrelation function. It then shifts the phase of the locally-generated C/A code with respect to the phase of the locally-generated square-wave code, to align the local and the received C/A codes and position the correlators on the center peak of the split-C/A. The receiver then tracks the center peak directly, with a locally generated split-C/A code.
The European Commission and the European Space Agency (ESA) are developing a GNSS known as Galileo. Galileo satellites will transmit signals in the E5a band (1176.45 MHz) and E5b band (1207.14 MHz) as a composite signal with a center frequency of 1195.795 MHz using a proposed modulation known as Alternate Binary Offset Carrier (AltBOC). The generation of the AltBOC signal is described in the Galileo Signal Task Force document “Technical Annex to Galileo SRD Signal Plans”, Draft 1, 18 Jul. 2001, ref # STF-annexSRD-2001/003, which is incorporated herein in its entirety by reference. Like the GPS satellites, the GNSS satellites each transmit unique PRN codes and a GNSS receiver can thus associate a received signal with a particular satellite. Accordingly, the GNSS receiver determines respective pseudoranges based on the difference between the times the satellites transmit the signals and then times the receiver receives the AltBOC signals.
A standard binary offset carrier (BOC) modulates a time domain signal by a sine wave sin(w0t), which shifts the frequency of the signal to both an upper sideband and a corresponding lower sideband. The BOC modulation accomplishes the frequency shift using a square wave, or sign(sin(w0t)), and is generally denoted as BOC(fs,fc), where fs is the subcarrier (square wave) frequency and fc is the spreading code chipping rate. The factors of 1.023 MHz are usually omitted from the notation for clarity so a BOC(15.345 MHz, 10.23 MHz) modulation is denoted BOC(15,10). The BOC modulation, which produces, for example, signals that are similar to the split C/A code discussed above, allows a single spreading, or PRN, code on each of the in-phase and quadrature carriers.
The modulation of a time domain signal by a complex exponential ew0t shifts the frequency of the signal to the upper sideband only. The goal of the AltBOC modulation is to generate in a coherent manner the E5a and E5b bands, which are respectively modulated by complex exponentials, or subcarriers, such that the signals can be received as a wideband “BOC-like signal.” The E5a and E5b bands each have associated in-phase and quadrature spreading, or PRN, codes, with the E5a codes shifted to the lower sideband and the E5b codes shifted to the upper sideband. The respective E5a and E5b quadrature carriers are modulated by dataless pilot signals, and the respective in-phase carriers are modulated by both PRN codes and data signals. A GNSS receiver may track either the E5a codes or the E5b codes in a manner that is similar to the tracking of the split C/A code discussed above.
There are, however, advantages in both multipath mitigation and tracking accuracy associated with tracking the composite E5a and E5b signals, that is, tracking the wideband AltBOC coherent signal. The respective inphase and quadrature carriers of the composite signal are modulated by complex spreading codes, and thus, the in-phase and quadrature channels each include contributions from both real and imaginary signal components of the E5a and E5b codes. Theoretical analyses of the composite tracking operations have been made using high level mathematics. Accordingly, the associated receivers, which essentially reproduce the high-level mathematical operations, are expected to be both complicated and costly.
One proposed receiver produces local versions of the AltBOC composite codes using the same look-up tables that the Galileo satellites use to generate the signals for transmission, that is, the tables that correspond to the underlying phase shift keying (PSK) spreading codes. The proposed receiver must thus not only maintain large look-up tables for each of the codes transmitted by the respective Galileo satellites, the receiver must also operate complex circuitry that controls entry to the look-up tables each time a new code chip is received. The tables are even larger and entering them more complicated when different pilot codes are used on the E5a and E5b bands, as is now contemplated.